/*
This script requires the following user-written ados:
 - shp2dta (ssc install shp2dta)
 - spmap   (ssc install spmap)
 - renvars (net link sj, net cd software/sj5-4, net install dm88_1)

To replicate this code, simply redefine the location of ROOT on line
19 to point to the location where these replication materials are 
stored on your machine.
*/


clear all
set more off
capture log close

*************************************************************

global ROOT "C:/Users/Cecilia/Mi unidad/Fertility/IVE"
global DAT "$ROOT/data"
global OUT "$ROOT/results"
	
	
***********************************************************************
***********************************************************************
//(0) Limpieza:

import excel "$DAT/estimaciones-y-proyecciones-2002-2035-comunas.xlsx", firstrow clear
rename _all , lower
keep region nombreregion sexo edad poblacion2017-poblacion2024
collapse (sum) poblacion*, by(region nombreregion edad sexo)

foreach v of varlist poblacion*{
	gen `v'_mujeref = `v' if inrange(edad,15,49) & sexo == 2
	rename `v' `v'_total
}

collapse (sum) poblacion*, by(region nombreregion)

forval y = 2017/2024{
	label var poblacion`y'_mujeref "Poblacion de mujer en edad fértil en año `y'"
	label var poblacion`y'_total "Población total en año `y'"
}

rename region codregion
save "$DAT/Poblacion_2017-2024.dta", replace

//Corrección del mapa
shp2dta using "$DAT/map/Regional", database("$DAT/map/regdb") coordinates("$DAT/map/regcoord") genid(id) replace

*Variable cir_sena (region_orden) está en -1 mala desde ñuble, se arregla:
use "$DAT/map/regdb", clear
replace cir_sena = cir_sena +1 if cir_sena >=10
replace cir_sena = 10 if codregion == 8
save "$DAT/map/regdb", replace

*se corta la longitud para sacar Rapa Nui
use "$DAT/map/regcoord", clear
replace _X = -10000000 if _X < -10000000
save "$DAT/map/regcoord", replace

replace _X = -9000000 if _X < -9000000
save "$DAT/map/regcoord_v2", replace



// FIG 3

**# Panel Aborto por violación
	import excel "$DAT/CSP_results_2025_04.xlsx", clear sheet("Fig3a Ab violacion regiones") firstrow
	tostring _all, replace
	foreach v of varlist _all{
		replace `v' = ustrtoname(`v') in 1
	}
	renvars , map(word(@[1], 1))
	drop in 1
	rename Frecuencia_* nsolicitudes_*
	destring _all, replace
	drop if codregion == .
	merge 1:1 codregion using "$DAT/Poblacion_2017-2024.dta"
	drop _m

	forval y = 2018/2024{
		gen tasa_solicitud_`y' = nsolicitudes_`y'/poblacion`y'_mujeref *1000
	}

	egen tasa_causal3 = rowmean(tasa_solicitud_*)
	format tasa_causal3 tasa_solicitud_* %3.2f
	drop poblacion* tasa_solicitud_2018-tasa_solicitud_2022 nsolicitudes_*


	merge 1:1 codregion using "$DAT/map/regdb"
	keep if _merge == 3
	drop _merge id


	spmap tasa_causal3 using "$DAT/map/regcoord" /*if cod_prov != 52*/, id(cir_sena) fcolor(Blues) legend(size(*2) placement(s))
	graph export "$OUT/figure3a.pdf", replace 

**# Panel Tasa de denuncias

import excel "$DAT/CSP_results_2025_04", clear sheet("Fig3b Delitos sex") firstrow
tostring _all, replace
foreach v of varlist _all{
	replace `v' = ustrtoname(`v') in 1
}
renvars , map(word(@[1], 1))
rename _* ndenuncias_*
drop in 1
destring _all, replace
drop if codregion == .
merge 1:1 codregion using "$DAT/Poblacion_2017-2024.dta"
drop _m

*Tasa de denuncia regional por año
forval y = 2018/2024{
	gen tasa_denuncia_y`y' = ndenuncias_`y'/poblacion`y'_mujeref *1000
}

*Promedio de denuncias de 2018-2020
egen tasa_denuncia_mean = rowmean(tasa_denuncia_y*)
format tasa_denuncia_mean tasa_denuncia_y* %3.2f

drop ndenuncias_* poblacion* tasa_denuncia_y2018-tasa_denuncia_y2022

merge 1:1 codregion using "$DAT/map/regdb"
keep if _merge == 3
drop _merge 



spmap tasa_denuncia_mean using "$DAT/map/regcoord", id(cir_sena) fcolor(Blues) legend(size(*2))
graph export "$OUT/figure3b.pdf", replace 



**# Panel C: Objetores de conciencia

import excel "$DAT/CSP_results_2025_04.xlsx", clear sheet("Fig3c Objetores") firstrow
rename _all, lower
drop if codregion == .
merge 1:1 codregion using "$DAT/map/regdb"
keep if _merge == 3
drop _merge


format propobjetores %3.0f

spmap propobjetores using "$DAT/map/regcoord", id(cir_sena) fcolor(Blues) legend(size(*2) placement(s))
graph export "$OUT/figure3c.pdf", replace 

